﻿using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
using Mt.Site.Core.Base.Domain.Entities;
using System;
using System.ComponentModel.DataAnnotations;
/****************************************************************
*   作者：Schme
*   CLR版本：4.0.30319.42000
*   创建时间：2018/10/15 9:47:22
*   2017
*   描述说明：留言管理类
*
*   修改历史：
*
*
*****************************************************************/
namespace Mt.Site.Core.Messages_
{
    public class MessagesInfo : FullAuditedEntity<Guid>, IMustHaveTenant,ILanguage
    {
        public const int MaxNameLength = 50;
        public const int MaxEmailLength = 30;
        public const int MaxTelLength = 20;
        public const int MaxCompanyLength = 100;
        public const int MaxIntroLength = 800;
        public const int MaxLanguageLength = 50;
        public const int MaxSexLength = 10;

        /// <summary>
        /// 辅助ID
        /// </summary>
        public long AuxiliaryId { get; set; }

        /// <summary>
        /// 栏目ID
        /// </summary>
        public long MenuId { get; set; }

        /// <summary>
        /// 信息标题
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string Title { get; set; }

        /// <summary>
        /// 留言副标题
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string Subhead { get; set; }

        /// <summary>
        /// 留言人姓名
        /// </summary>
        [StringLength(MaxNameLength)]
        public string Name { get; set; }

        /// <summary>
        /// 留言人昵称
        /// </summary>
        [StringLength(MaxNameLength)]
        public string NickName { get; set; }

        /// <summary>
        /// 留言人性别
        /// </summary>
        [StringLength(MaxSexLength)]
        public string Sex { get; set; }

        /// <summary>
        /// 留言类型
        /// </summary>
        [StringLength(MaxNameLength)]
        public string MessageType { get; set; }

        /// <summary>
        /// 邮箱
        /// </summary>
        [StringLength(MaxEmailLength)]
        public string EMail { get; set; }

        /// <summary>
        /// 联系方式-电话
        /// </summary>
        [StringLength(MaxTelLength)]
        public string Tel { get; set; }

        /// <summary>
        /// 联系方式-手机
        /// </summary>
        [StringLength(MaxTelLength)]
        public string Phone { get; set; }

        /// <summary>
        /// 传真
        /// </summary>
        [StringLength(MaxTelLength)]
        public string Fax { get; set; }

        /// <summary>
        /// 公司名称
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string CompanyName { get; set; }

        /// <summary>
        /// 国家
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string Country { get; set; }

        /// <summary>
        /// 省
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string Province { get; set; }

        /// <summary>
        /// 市
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string City { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string Area { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public string Address { get; set; }

        /// <summary>
        /// 邮编
        /// </summary>
        [StringLength(MaxTelLength)]
        public string PostCode { get; set; }

        /// <summary>
        /// 简介
        /// </summary> 
        [StringLength(MaxIntroLength)]
        public string Intro { get; set; }

        /// <summary>
        /// 留言提交时间
        /// </summary>
        public DateTime? SubDate { get; set; }


        /// <summary>
        /// 回复备注
        /// </summary> 
        [StringLength(MaxIntroLength)]
        public string BackIntro { get; set; }

        /// <summary>
        /// 处理时间
        /// </summary>
        public DateTime? ProcessTime { get; set; }

        /// <summary>
        /// 点击量
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Hit { get; set; }

        /// <summary>
        /// 审核状态 0：未审核，1：已审核；2；待审核；3：未通过
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Audit { get; set; }


        /// <summary>
        /// 排序
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Order { get; set; }

        /// <summary>
        /// 是否有效
        /// </summary>
        public bool IsActive { get; set; }

        /// <summary>
        /// 是否显示
        /// </summary>
        public bool IsShow { get; set; }

        /// <summary>
        /// 关联ID
        /// </summary>
        public Guid RelevanceId { get; set; }

        /// <summary>
        /// 上级ID
        /// </summary>
        public Guid SupId { get; set; }


        /// <summary>
        /// 租户ID
        /// </summary>
        public int TenantId { get; set; }

        /// <summary>
        /// 语言版本
        /// </summary>
        [StringLength(MaxLanguageLength)]
        public string Language { get; set; } 
    }
}
